Generation Gapパターン
ソースを自動生成するツールにはいろいろあります。 MicrosoftのVisual...というツールにはWizardという機能があって、 ダイアログの質問に答えると、ソースのひながたを作ってくれます。 それは便利で間違いが少ないのですが、 自動生成されたソースにプログラマが手を加えた場合、 自動生成ツールを再度使いにくい、という問題があります。 自動生成ツールを再度使って、ソースを上書きしては、 せっかくプログラマが書き加えた部分が失われてしまうからです。
そこで、Generation Gapパターンでは、 継承を使ってその問題を解決します。 すなわち、自動生成ツールが作るのはスーパークラスのみとする。 そしてそれには人間は手を加えない。 人間はそのクラスのサブクラスを作る。自動生成ツールはそのサブクラスはいじらない。 …これがGeneration Gapパターンのあらすじです。